MUIGDIPlusDoubleBufferStartΒΆ

MUIGDIPlusDoubleBufferStart, hWin:MUIWND, pGraphics:GPGRAPHICS, lpBitmapHandle:LPGPIMAGE, lpGraphicsBuffer:LPGPGRAPHICS

Start Double Buffering for GDI+. Used in a WM_PAINT event. Place after BeginPaint

Parameters

  • [in] hWin - handle to window to start double buffering (gdi+) for
  • [in] pGraphics - graphics context for the hWin window
  • [out] lpBitmapHandle - pointer to variable to store double buffer image
  • [out] lpGraphicsBuffer - pointer to variable to store double buffer graphics context

Return

None

Example

LOCAL hdc:HDC
LOCAL pGraphics:DWORD
LOCAL pGraphicsBuffer:DWORD
LOCAL pBitmap:DWORD

Invoke BeginPaint, hWin, Addr ps
mov hdc, eax

mov pGraphics, 0
mov pGraphicsBuffer, 0
mov pBitmap, 0

Invoke GdipCreateFromHDC, hdc, Addr pGraphics

; Start GDI+ Double Buffer
Invoke MUIGDIPlusDoubleBufferStart, hWin, pGraphics, Addr pBitmap, Addr pGraphicsBuffer

; Draw with GDI+ to pGraphicsBuffer context

; Finish GDI+ Double Buffer
Invoke MUIGDIPlusDoubleBufferFinish, hWin, pGraphics, pBitmap, pGraphicsBuffer

.IF pGraphics != 0
   Invoke GdipDeleteGraphics, pGraphics
.ENDIF

Invoke EndPaint, hWin, Addr ps

See Also

MUIGDIPlusDoubleBufferFinish, WM_PAINT, BeginPaint